<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns='http://www.springframework.net'>
  <object id="CompanyDAO" type="FastSpring.Core.DAL.CompanyDAO,FastSpring.Net.Core" parent="baseDao">
    <property name="DeleteDependOnQueryNames">
      <list>
        <value>GetUsersOfDCID</value>
      </list>
    </property>
  </object>
  <object id="CompanyManager" type="FastSpring.Core.BLL.CompanyManager,FastSpring.Net.Core">
    <property name="CompanyDAO" ref="CompanyDAO"/>
    <!-- 删除对像的检测依赖DAO，需要使用时具体实现，设置 DeleteDependOnQueryNames List -->
  </object>
  
  <object id="UserDAO" type="FastSpring.Core.DAL.UserDAO,FastSpring.Net.Core" parent="baseDao">
  </object>
  <object id="UserManager" type="FastSpring.Core.BLL.UserManager,FastSpring.Net.Core">
    <property name="UserDAO" ref="UserDAO"/>
  </object> 

  <object id="ModuleButtonDAO" type="FastSpring.Core.DAL.ModuleButtonDAO,FastSpring.Net.Core" parent="baseDao">    
  </object>
  <object id="ModuleButtonManager" type="FastSpring.Core.BLL.ModuleButtonManager,FastSpring.Net.Core">
    <property name="ModuleButtonDAO" ref="ModuleButtonDAO"/>
  </object>

  <object id="ModuleDAO" type="FastSpring.Core.DAL.ModuleDAO,FastSpring.Net.Core" parent="baseDao">
    <property name="DeleteDependOnQueryNames">
      <list>
        <value>GetSubModulesOfMID</value>
        <value>GetModuleButtonsOfMID</value>
        <value>GetFunctionModulesOfMID</value>
      </list>
    </property>
  </object>
  <object id="ModuleManager" type="FastSpring.Core.BLL.ModuleManager,FastSpring.Net.Core">
    <property name="ModuleDAO" ref="ModuleDAO"/>
  </object>

  <object id="RoleDAO" type="FastSpring.Core.DAL.RoleDAO,FastSpring.Net.Core" parent="baseDao">
    <property name="DeleteDependOnQueryNames">
      <list>
        <value>GetUsersOfRID</value>
        <value>GetRoleFunctionsOfRID</value>
      </list>
    </property>
  </object>
  <object id="RoleManager" type="FastSpring.Core.BLL.RoleManager,FastSpring.Net.Core">
    <property name="RoleDAO" ref="RoleDAO"/>
  </object>

  <object id="RoleFunctionDAO" type="FastSpring.Core.DAL.RoleFunctionDAO,FastSpring.Net.Core" parent="baseDao">
  </object>
  <object id="RoleFunctionManager" type="FastSpring.Core.BLL.RoleFunctionManager,FastSpring.Net.Core">
    <property name="RoleFunctionDAO" ref="RoleFunctionDAO"/>
  </object>

  <object id="FunctionDAO" type="FastSpring.Core.DAL.FunctionDAO,FastSpring.Net.Core" parent="baseDao">
    <property name="DeleteDependOnQueryNames">
      <list>
        <value>GetSubFunctionsOfFID</value>
        <value>GetFunctionModulesOfFID</value>
        <value>GetRoleFunctionsOfFID</value>
      </list>
    </property>
  </object>
  <object id="FunctionManager" type="FastSpring.Core.BLL.FunctionManager,FastSpring.Net.Core">
    <property name="FunctionDAO" ref="FunctionDAO"/>
  </object>

  <object id="FunctionModuleDAO" type="FastSpring.Core.DAL.FunctionModuleDAO,FastSpring.Net.Core" parent="baseDao">
  </object>
  <object id="FunctionModuleManager" type="FastSpring.Core.BLL.FunctionModuleManager,FastSpring.Net.Core">
    <property name="FunctionModuleDAO" ref="FunctionModuleDAO"/>
  </object>

  <object id="LogDAO" type="FastSpring.Core.DAL.LogDAO,FastSpring.Net.Core" parent="baseDao">
  </object>
  <object id="LogManager" type="FastSpring.Core.BLL.LogManager,FastSpring.Net.Core">
    <property name="LogDAO" ref="LogDAO"/>
  </object>

  <object id="RoleModuleManager" type="FastSpring.Core.BLL.RoleModuleManager,FastSpring.Net.Core" singleton="true">
    <property name="CacheRoleManager" ref="RoleManager"/>
  </object>

  <object id="MenuDAO" type="FastSpring.Core.DAL.MenuDAO,FastSpring.Net.Core" parent="baseDao">
    <property name="DeleteDependOnQueryNames">
      <list>
        <value>GetMenusOfParentMenuID</value>
      </list>
    </property>    
  </object>
  <object id="MenuManager" type="FastSpring.Core.BLL.MenuManager,FastSpring.Net.Core">
    <property name="MenuDAO" ref="MenuDAO"/>
  </object>  

  <object id="GeneratorIdDAO" type="FastSpring.Core.DAL.GeneratorIdDAO,FastSpring.Net.Core" parent="baseDao">
  </object>
  <object id="GeneratorIdManager" type="FastSpring.Core.BLL.GeneratorIdManager,FastSpring.Net.Core">
    <property name="GeneratorIdDAO" ref="GeneratorIdDAO"/>
  </object>

  <object id="EnumDAO" type="FastSpring.Core.DAL.EnumDAO,FastSpring.Net.Core" parent="baseDao">
  </object>
  <object id="EnumManager" type="FastSpring.Core.BLL.EnumManager,FastSpring.Net.Core">
    <property name="EnumDAO" ref="EnumDAO"/>
  </object>

  <object id="ConfigDAO" type="FastSpring.Core.DAL.ConfigDAO,FastSpring.Net.Core" parent="baseDao">
  </object>
  <object id="ConfigManager" type="FastSpring.Core.BLL.ConfigManager,FastSpring.Net.Core">
    <property name="ConfigDAO" ref="ConfigDAO"/>
  </object>

  <!-- Core 核心业务 -->
  <object id="CoreCommBLL" type="FastSpring.Core.CoreCommBLL,FastSpring.Net.Core" singleton="true">
    <property name="GeneratorIdManager" ref="GeneratorIdManager"/>
    <property name="ConfigManager" ref="ConfigManager"/>
    <property name="SendMailBLL" ref="SendMailBLL"/>
    <property name="CoreCacheBLL" ref="CoreCacheBLL"/>
    <property name="UploadFileTypes" value="jpg|jpeg|bmp|gif|rar|zip|swf|rm|rmvb|wmv|mpg|mp3|doc|xls|ppt|csv|txt|gz"/>
  </object>
</objects>